home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-13 / trs141f.zip / NFMT.ZIP / MAKEFILE < prev    next >
Text File  |  1992-07-20  |  2KB  |  98 lines

  1. # Makefile for NFMT 
  2.  
  3. #
  4. # Change these to configure 
  5. #
  6. BINDIR = /cs/public/bin
  7. MANDIR = /cs/public/generic/man/man1
  8. INSTALL = install -s 
  9.  
  10. #
  11. # Change this for site compilation
  12. #
  13. #CC = gcc
  14. #CC = cc -systype bsd43  # On mips machines.
  15. CC = cc
  16. CFLAGS = -O 
  17.  
  18.  
  19. #
  20. # Change these if not on standard UNIX.
  21. #
  22. NROFF-MAN=nroff -man
  23. COLCRT=colcrt -
  24. CP=cp
  25. RM=rm -f
  26. DIR=ls -l
  27. TIME=time
  28. NULL=/dev/null
  29. STRIP=strip
  30. WORDS=/usr/dict/words
  31. UNFMT=tr ' ' '\012'
  32. UNHYPHEN=sed 's/\([a-zA-Z]\)- \([a-zA-Z]\)/\1\2/g'
  33. ZIPCREATE=zip 
  34.  
  35.  
  36. #
  37. #
  38. PRODUCT=nfmt
  39. MANPAGE=$(PRODUCT).1
  40. SRC=Makefile $(PRODUCT).c options.h config.h 
  41. DOC=README $(MANPAGE) sample.inp sample.out 
  42. OBJ=$(PRODUCT).o
  43.  
  44. all: $(PRODUCT)
  45.  
  46. $(PRODUCT): $(OBJ)
  47.     $(CC) -o $(PRODUCT) $(OBJ)
  48.  
  49. $(PRODUCT).o: options.h config.h
  50.  
  51. install: $(BINDIR)/$(PRODUCT) $(MANDIR)/$(MANPAGE)
  52.  
  53. $(BINDIR)/$(PRODUCT): $(PRODUCT)
  54.     $(INSTALL) $(PRODUCT) $(BINDIR)
  55.  
  56. $(MANDIR)/$(MANPAGE): $(MANPAGE)
  57.     $(CP) $(MANPAGE) $(MANDIR)
  58.  
  59. doc: $(PRODUCT).doc
  60.  
  61. $(PRODUCT).doc: $(PRODUCT) $(MANPAGE) 
  62.     $(NROFF-MAN) $(MANPAGE) | $(COLCRT) \
  63.         | $(PRODUCT) | $(UNHYPHEN) | $(PRODUCT) > $(PRODUCT).doc
  64.  
  65.  
  66. test: sample.inp sample.out $(PRODUCT) 
  67.     $(PRODUCT) sample.inp | diff sample.out -  
  68.     $(PRODUCT) $(WORDS) | $(UNFMT) | diff $(WORDS) -
  69.     cat $(WORDS) |  tr '\012' _ $(WORDS) | $(PRODUCT) \
  70.         | tr _ '\012' | sed '$$d' | diff $(WORDS) - 
  71.     $(STRIP) $(PRODUCT)
  72.     $(DIR) $(PRODUCT)
  73.     $(TIME) $(PRODUCT) sample.inp > $(NULL) 
  74.  
  75. output: sample.inp $(PRODUCT)
  76.     $(PRODUCT) sample.inp > sample.out 
  77.     
  78.     
  79. shar: $(PRODUCT).shar
  80.  
  81. $(PRODUCT).shar: $(DOC) $(SRC)
  82.     shar -p X $(DOC) $(SRC) > $(PRODUCT).shar 
  83.  
  84. zip: $(PRODUCT).zip
  85.  
  86. $(PRODUCT).zip: $(DOC) $(PRODUCT).doc $(SRC) 
  87.     $(RM) $(PRODUCT.ZIP)
  88.     $(ZIPCREATE) $(PRODUCT).zip $(DOC) $(PRODUCT).doc $(SRC)
  89.  
  90. $(PRODUCT).exe: $(PRODUCT).c options.h
  91.     tcc -Z -N- -O -X $(PRODUCT).c
  92. clean:
  93.     $(RM) $(OBJ) $(PRODUCT) $(PRODUCT).doc
  94.     $(RM) $(PRODUCT).zip $(PRODUCT).shar 
  95.     $(RM) $(PRODUCT).exe $(PRODUCT).obj
  96.     $(RM) core a.out *.bak
  97.